package com.ito.areaTrabajo.arbol.modelo_arbol;

import java.util.List;

import com.ito.areaTrabajo.arbol.datos.pojo.ProyectoData;
import com.ito.areaTrabajo.modelo.dao.ProyectoDao;
import com.ito.ito.areaTrabajo.modelo.Proyecto;
import com.ito.ito.areaTrabajo.modelo.Usuario;

public class ProyectoList {
	private ProyectoDao proyectoDao;
	private ProyectoTreeNode<ProyectoData> root;
	
	public ProyectoList(){
		proyectoDao=new ProyectoDao();
	}
	
	public ProyectoTreeNode<ProyectoData> obtenerArbolProyectos(Usuario usuario){
	
		
		ProyectoTreeNodeCollection<ProyectoData> listaProyectos=new ProyectoTreeNodeCollection<ProyectoData>();
		
		List<Proyecto> proyectosBd=proyectoDao.proyectosPorUsuario(usuario.getIdUsuario());
		if(proyectosBd!=null)
			if(!proyectosBd.isEmpty())
		for(int i=0;i<proyectosBd.size();i++){
		
			ProyectoData responsable=new ProyectoData();
			responsable.setDescripcion("Asignacion de responsable");
			responsable.setId(proyectosBd.get(i).getIdProyecto());
			
			ProyectoData plantilla=new ProyectoData();
			plantilla.setDescripcion("Asignar plantilla");
			plantilla.setId(proyectosBd.get(i).getIdProyecto());
			
			ProyectoTreeNode<ProyectoData> hojaResponsable=new ProyectoTreeNode<ProyectoData>(responsable);
			ProyectoTreeNode<ProyectoData> hojaPlantilla=new ProyectoTreeNode<ProyectoData>(plantilla);
			
			ProyectoTreeNodeCollection<ProyectoData> encapsulaHoja=new ProyectoTreeNodeCollection<ProyectoData>();
			
			
			encapsulaHoja.add(hojaResponsable);
			encapsulaHoja.add(hojaPlantilla);
			
			ProyectoData nodoProyecto=new ProyectoData();
			nodoProyecto.setDescripcion(proyectosBd.get(i).getNombreProyecto());
			
			ProyectoTreeNode<ProyectoData> encapsulaNodo=new ProyectoTreeNode<ProyectoData>(nodoProyecto,encapsulaHoja);
			
			listaProyectos.add(encapsulaNodo);
		}
	
		if(!listaProyectos.isEmpty()){
			root=new ProyectoTreeNode<ProyectoData>(null, listaProyectos);
		}
		return root;
	}

}
